I have replaced all Date()
function calls (except those asking
for the current date) with DateInfo()
function calls.
DateInfo()
is a subroutine I wrote to mimic the behavior of
Date()
in all ways except that it allows (theoretically) any
dates to be used (the Date()
function is limited to dates between
Jan 1, 1978 and Dec 31, 2099, inclusive).
The routine used to determine a specific date from a serial date was taken
from Astronomical Computing, Sky & Telescope, May, 1984. The routine used to
determine a serial date from a specific date was taken from
PerpetualCalendar.bas that appeared in Astronomical Computing, Sky &
Telescope, July, 1985. I do not pretend to have an understanding of how these
routines work, and therefore cannot warrant that they are accurate. I do know,
however, that Date()
and DateInfo()
return
identical results for all options (except option 'C', see below) and all
dates for which Date()
is valid.
Option 'C' for Date()
returns the number of days since Jan 1,
1900, while DateInfo()
returns the number of days since the
beginning of the millenium in which the date occurs (eg, Jan 1, xx00).
This means that FWCalendar is Y2K compliant, and should be valid for any possible date.